package de.stefanocke.roo.wicket;

import org.springframework.roo.model.JavaPackage;

/**
 * Interface of operations this add-on offers. Typically used by a command type
 * or an external add-on.
 * 
 * @since 1.1
 */
public interface WicketOperations {

	/**
	 * Indicate commands should be available
	 * 
	 * @return true if it should be available, otherwise false
	 */
	boolean isSetupCommandAvailable();

	/**
	 * Setup all add-on artifacts (dependencies in this case)
	 * 
	 * 
	 * @param forceUpdate
	 * 
	 */
	void setup(JavaPackage webPackage, JavaPackage doaminPackage, boolean forceUpdate);
}